This software and documentation is provided as-is and is not
garanteed to do or be anything. Use at your own risk.
FOREWORD
A couple of weeks ago I heard about Varmint Audio Tools(VAT) when I
checked it out I was very impressed that this freeware sound library actually worked
and did so very well, so I decided it was definately worth porting to Watcom C.
I would say about 95% of all the code is the same and Mr Jorgensen really deserves
most of the credit for this library.
INTRODUCTION
This version of VAT 0.51 is the first version to be ported to Watcom so it is likely
to LOTS OF BUGS. So far this version has only been tested on my ProAudio
Spectum 16. If you have not seen the real mode version of VAT 0.51, I recommend
getting it to see how great this library really is.(See below for locations) I have so far
concentrated on getting the sound functions to work,and I have not really worked
very hard at getting the timer functions to work, butI still think this is by far the most
complete FREEWARE Sound Blaster programming Kit for Watcom. To see what this
library can do, I recommend you start by running VATDEMO.EXE to all the different
sound functions this library supports.
Functions avaliable
-All functions use DSP interrupt driven code and use a DMA channel
-Play WAVE audio files
-Play MOD audio files (Some bugs here still)
-Play MIDI audio files
-FM instrument player
-Sound Mixer that give you the ability to play all these files at the same time (WOW)
Functions in the library that don't work yet
-All timer functions
-Vsync functions
In order to compile this library correctly you need to the /zu option.
EXAMPLE
wcl386.exe /zu sound.c example.c
If you try this library out or run the sound demo I would love to hear from you about what
did and didn't work in this library, and if you have any comments or suggestions on how to
make the Watcom version run better let me know. In the coming weeks look for an updated
version that works better. Look for these versions to appear at x2ftp.oulu.fi and mack.rt66.com:/users/smeagol. I plan to post anouncements in rec.games.programmer.
Brian Gavin, Grand Rapids MI
email: gavinb@ix.netcom.com
THE REST OF THIS DOCUMENT IS THE ORGINAL FILE THAT CAME WITH THE ORIGINAL VARMIT AUDIO TOOLS MOST OF THE INFORMATION BELOW HOLDS TRUE, BUT BE
AWARE OF THE FUNCTIONS LISTED ABOVE THAT DON'T WORK
Varmint's Audio Tools (VAT) is a small Sound Blaster programming Kit.
It's primary feature is a DSP interrupt driven core that handles
real-time mixing and playing of digital sounds, background MIDI
music, and background MOD music. It supports many FM chip routines,
input functions for WAVE samples and MIDI music files, true MPU-401
MIDI output, auto recognition and setup of Sound Blaster compatible
cards, and 4.5 (adjustable) millisecond clock and microsecond accuracy
timers. VAT is Freeware and comes with source and example code (Turbo C).
VAT was adapted from Peter Sprenger's SoundX library. Peter's library
was the only sound blaster library that I could actually get working
out of the half dozen or so that I ftp'ed from x2ftp.oulu.fi. It is
a pretty nice library, but the documentation is lacking and the code
still has a few flaws, so I decided to find out how it worked and
then modify it to fit my needs as a novice Sound Blaster Programmer.
Peter has given me personal permission to distribute this library and
I want to offer my special thanks to him for his effort and the
information he has provided.
SO WHO NEEDS IT?
VAT is intended for any programmer who wants to add sound effects
and music to their programs quickly and easily.
Like so many other programmers, I've been very dissappointed by the
sound library offerings out there. I have designed VAT to be very easy
to use and as versatile as possible, and I hope that it is useful to you.
When dealing with routines that run in the background, most programmers
are concerned about how many CPU processing cycles the routines use up.
Here are the numbers that I get on my 486 DX2/66:
Base overhead: 2.1 %
Midi overhead: 1.0 % (average)
Sample overhead: 1.0% per sample
So, let's say that your program is playing some midi music and 4 digital
samples in the background. The total overhead would be: 2.1% (base) +
1% (midi) + 4 * 1.0% (samples) = 7.1%. That means that
if you were animating some graphics at 30 FPS, it would slow down to
27.6 FPS. Pretty acceptable.
BETA VERSION
This is the beta version of VAT, so it is a little scant on
documentation, but I have tried to make up for that by commenting
the code heavily and providing an example program.
HOW TO CONTACT THE AUTHOR(S)
Any suggestions or bug reports are very welcome. (The demo program
creates the file "survey.txt" to make this process easier you.) Please
send them to one of these email addresses:
smeagol@rt66.com
ejorgensen@rr5.intel.com
Peter Sprenger can be reached at:
Pete@amber.dinoco.de
FREEWARE (LISCENCING)
VAT is freeware, so you are free to copy and distribute this library
as much as you like as long as you charge no fee for it's distribution.
(The exception to this is if VAT is distributed as part of a large
collection of shareware/freeware packages.) You are NOT restricted,
however, from charging money for games or other programs that use
VAT to produce sound. All I ask is that you send me a complimentary
copy. (Peter Sprenger would like one too.) This helps me as a
developer to know who is using my software and for what. It is also
a good way to make friends!
In other words:
Q: Can put any of the programs or example code from VAT into my
own shareware that I am going to sell for money?
A: Absolutely not.
Q: If I use VAT to generate sounds in my game, can I sell my game
for money?
A: Yes! (Please send Eric Jorgensen and Peter Sprenger complimentary
copies of your game!)
FEATURES
- Background DMA digital playback with real time mixing and
unlimited channels.
- Background Playing of MIDI music with easy control of tempo and volume.
- Background Playing of MOD music with easy control of tempo and volume.
- Routines to access the FM chip.
- MPU-401 true MIDI output.
- Vertical retrace checking functions for animators.
- 4.5 millisecond (adjustable) clock plus microsecond accuracy timers.
- AUto recognition and setup of Sound Blaster or Sound Blaster
compatable sound cards.
- Does not disturb the system clock (does not use int08)
- Comes with heavily commented source code and demo.
- Comes with an FM voice editor
VARMINT'S HOME FTP SITE
I have a home site for all of my software:
mack.rt66.com:/users/smeagol
Here you can find my other shareware and freeware offerings:
tmkr11.zip Terrain Maker - A random Terrain generator/
editor for the freeware raytracer Persistence
of Vision (POV).
vpova10.zip Varmint's POV animator - A POV scene file parser
that allows the inclusion of functions and
animation commands.
svgadiag.zip Free SVGA diagnostic utility
survey_results.txt Compiled results of a large survey of SVGA cards